/*
 * ZeroEntry.h
 *
 * Created on: 05-05-2014
 *     Author: A.W. Janisse
 *
 * Version 1.0: 24-05-2014, Final release
 */

#ifndef ZEROENTRY_H
#define ZEROENTRY_H

#include <string>
#include <Gate.h>

using namespace std;

class ZeroEntry : public Gate
{
    public:
        // pre :
        // post: An object is constructed with the given parameters.
        ZeroEntry(int x, int y, string type);

        // pre :
        // post: This object always returns NULL because it's a ZERO enry;
        Gate * getEntry(int nr);

        // pre :
        // post: Childs of this class don't have any entries. Return false always.
        bool connectEntryTo(Gate *gate);

        // pre :
        // post: There won't be any antries to remove. This function will always return false.
        bool removeEntryTo(Gate *gate);

        // pre :
		// post: Please see decendants for a descripion.
        virtual string getDrawingInstruction() = 0;

        // pre :
		// post: Please see decendants for a descripion.
        virtual int getOutputValue() = 0;
};

#endif // ZEROENTRY_H
